Date de sortie de la version stable:27 mai 2025
Sauf indication contraire, les modifications suivantes s'appliquent à la version du canal stable Chrome 137 pour Android, ChromeOS, Linux, macOS et Windows.
CSS et UI
Fonction CSS if()
La fonction CSS if()
permet d'exprimer des valeurs conditionnelles de manière concise. Il accepte une série de paires condition-valeur, délimitées par des points-virgules. La fonction évalue chaque condition de manière séquentielle et renvoie la valeur associée à la première condition vraie. Si aucune des conditions n'est évaluée comme vraie, la fonction renvoie un flux de jetons vide. Vous pouvez ainsi exprimer une logique conditionnelle complexe de manière simple et concise.
Exemple :
div {
color: var(--color);
background-color: if(style(--color: white): black; else: white);
}
.dark {
--color: black;
}
.light {
--color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>
Bug de suivi 346977961 | Enregistrement sur ChromeStatus.com | Spécification
Propriétés CSS reading-flow
, reading-order
La propriété CSS reading-flow
contrôle l'ordre dans lequel les éléments d'une mise en page flex, grid ou block sont exposés aux outils d'accessibilité et mis en surbrillance à l'aide de la navigation par tabulation.
La propriété CSS reading-order
permet aux auteurs de remplacer manuellement l'ordre dans un conteneur de parcours de lecture. Il s'agit d'un entier dont la valeur par défaut est 0
.
Pour en savoir plus sur ces propriétés, consultez Utiliser le flux de lecture CSS pour la navigation séquentielle logique de la sélection et essayez quelques exemples.
Bug 40932006 | Enregistrement sur ChromeStatus.com | Spécification
Ignorer l'espacement entre les lettres dans les écritures cursives
Cette fonctionnalité ajoute une logique pour ignorer le paramètre d'espacement des lettres pour les scripts cursifs, comme spécifié par le développeur, conformément aux spécifications, afin de s'assurer que l'espacement des lettres ne perturbe pas la structure des mots et vise à améliorer l'expérience utilisateur pour les utilisateurs qui s'appuient sur des scripts cursifs.
Grâce à cette fonctionnalité, Chrome garantit que les écritures cursives sont lisibles et correctement espacées, même si les polices ne disposent pas de fonctionnalités typographiques avancées.
Les scripts concernés dans Chromium sont l'arabe, le Hanifi Rohingya, le Mandaic, le mongol, le N'Ko, le Phags Pa et le syriaque, car ils sont considérés comme des scripts cursifs conformément aux spécifications.
Bug 40618336 | Enregistrement sur ChromeStatus.com | Spécification
API de sélection getComposedRanges
et direction
Cette fonctionnalité propose deux nouvelles méthodes d'API pour l'API Selection:
Selection.direction
, qui renvoie la direction de la sélection sous la formenone
,forward
oubackward
Selection.getComposedRanges()
, qui renvoie une liste de 0 ou 1 composéeStaticRange
Un StaticRange
composé est autorisé à franchir les limites d'ombre, ce qui n'est pas le cas d'un Range
normal.
Exemple :
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
Si la sélection traverse une limite de racine d'ombre qui n'est pas fournie dans la liste shadowRoots
, les points de terminaison de StaticRange
seront redéfinis pour se trouver en dehors de cet arbre. Cela permet de s'assurer que Chrome n'expose pas d'arborescences d'ombre inconnues.
Bug 40286116 | Enregistrement sur ChromeStatus.com | Spécification
Soutenir offset-path: shape()
Prise en charge de offset-path: shape()
pour permettre d'utiliser des formes responsives afin de définir le chemin d'animation.
Bug 389713717 en cours de suivi | Enregistrement sur ChromeStatus.com | Spécification
Prise en charge de l'attribut transform
sur SVGSVGElement
Cette fonctionnalité permet d'appliquer des propriétés de transformation (telles que la mise à l'échelle, la rotation, la translation et l'inclinaison) directement à l'élément racine <svg>
à l'aide de son attribut transform
. Cette amélioration vous permet de manipuler l'ensemble du système de coordonnées SVG ou son contenu dans son ensemble, ce qui vous offre une plus grande flexibilité pour créer des graphiques vectoriels dynamiques, responsifs et interactifs. En prenant en charge cet attribut, l'élément <svg>
peut être transformé sans nécessiter d'éléments de wrapper supplémentaires ni de solutions de contournement CSS complexes, ce qui simplifie le processus de création de graphiques Web évolutifs et animés.
Bug de suivi 40313130 | Enregistrement sur ChromeStatus.com | Spécification
Couleur d'accentuation du système pour la propriété accent-color
Vous pouvez ainsi utiliser la couleur d'accentuation du système d'exploitation pour les éléments de formulaire. En utilisant la propriété CSS accent-color
, vous pouvez vous assurer que les éléments de formulaire tels que les cases à cocher, les boutons radio et les barres de progression adoptent automatiquement la couleur d'accentuation définie par le système d'exploitation de l'utilisateur. Cette fonctionnalité est disponible sur macOS depuis 2021 et est désormais compatible avec Windows et ChromeOS.
Bug 40764875 | Enregistrement sur ChromeStatus.com | Spécification
Autorisez <use>
à référencer l'élément racine d'un document externe en omettant le fragment.
Cette fonctionnalité simplifie l'élément SVG <use>
en assouplissant les exigences de référencement. Avant Chrome 137, vous deviez référencer explicitement les fragments dans le document SVG. Si aucun ID de fragment n'est fourni, <use>
ne pourra pas résoudre la cible et rien ne sera affiché ni redirigé.
Par exemple: un élément <use>
référençant un fichier externe avec un identifiant de fragment:
<svg>
<use xlink:href="myshape.svg#icon"></use>
</svg>
Dans cet exemple, #icon
est l'identifiant du fragment pointant vers un élément avec id="icon"
dans myshape.svg
.
Sans identifiant de fragment:
<svg>
<use xlink:href="myshape.svg"></use>
</svg>
Avec cette fonctionnalité, l'omission de fragments ou simplement le nom du fichier SVG externe fait référence automatiquement à l'élément racine, ce qui vous évite d'avoir à modifier le document référencé simplement pour attribuer un ID à la racine. Cette amélioration simplifie ce processus de modification manuelle et améliore l'efficacité.
Bug de suivi 40362369 | Enregistrement sur ChromeStatus.com | Spécification
Types de couleurs à virgule flottante pour le canevas
Permet d'utiliser des formats de pixel à virgule flottante (par opposition au point fixe 8 bits) avec CanvasRenderingContext2D
, OffscreenCanvasRenderingContext2D
et ImageData
.
Cela est nécessaire pour les applications de haute précision (par exemple, la visualisation médicale), les contenus à plage dynamique élevée et les espaces de couleurs de travail linéaires.
Bug 40245602 suivi | Enregistrement sur ChromeStatus.com | Spécification
view-transition-name: match-element
La valeur match-element
génère un ID unique basé sur l'identité de l'élément et le renomme pour cet élément. Cette méthode est utilisée dans les applications monopages où l'élément est déplacé et que vous souhaitez l'animer avec une transition de vue.
Bug 365997248 | Enregistrement sur ChromeStatus.com | Spécification
Paiements
Aligner le type d'erreur généré pour la création d'identifiants WebAuthn payment
: SecurityError
devient NotAllowedError
Correction du type d'erreur généré lors de la création d'identifiants WebAuthn pour les identifiants payment
. En raison d'une incompatibilité historique des spécifications, la création d'identifiants payment
dans une iframe inter-origine sans activation de l'utilisateur génère une exception SecurityError
au lieu d'une exception NotAllowedError
, qui est celle générée pour les identifiants non liés aux paiements.
Il s'agit d'une modification destructive, mais qui ne concerne qu'un petit nombre d'utilisateurs. Le code qui détectait auparavant le type d'erreur généré (par exemple, e instanceof SecurityError
) est affecté.
Le code qui gère généralement les erreurs lors de la création d'identifiants (par exemple, catch (e)
) continuera de fonctionner correctement.
Bug 41484826 | Enregistrement sur ChromeStatus.com | Spécification
API Web
Partitionnement des URL blob: extraction/navigation
Dans le cadre de la proposition Storage Partitioning, Chrome a implémenté le partitionnement de l'accès aux URL blob par clé de stockage (site de premier niveau, origine des frames et valeur booléenne has-cross-site-ancestor), à l'exception des navigations de niveau supérieur qui ne seront partitionnées que par origine de frame. Ce comportement est semblable à celui actuellement implémenté par Firefox et Safari, et aligne l'utilisation des URL blob sur le schéma de partitionnement adopté par d'autres API de stockage dans le cadre de Storage Partitioning. De plus, Chrome applique désormais "noopener" aux navigations de niveau supérieur initiées par le moteur de rendu sur des URL blob lorsque le site correspondant est de type intersites par rapport au site de premier niveau effectuant la navigation. Cela permet à Chrome d'adopter un comportement semblable à celui de Safari. Les spécifications concernées ont été mises à jour pour refléter ces changements.
Bug 40057646 en cours de suivi | Enregistrement sur ChromeStatus.com
Piles d'appels dans les rapports d'erreur provenant de pages Web qui ne répondent pas
Cette fonctionnalité capture la pile d'appels JavaScript lorsqu'une page Web ne répond plus en raison d'un code JavaScript exécutant une boucle infinie ou un autre calcul très long. Cela permet aux développeurs d'identifier la cause de l'absence de réponse et de la corriger plus facilement. La pile d'appels JavaScript est incluse dans l'API de signalement des plantages lorsque la raison ne répond pas.
Bug 1445539 suivi | Enregistrement sur ChromeStatus.com | Spécification
Document-Isolation-Policy
Document-Isolation-Policy
permet à un document d'activer crossOriginIsolation
pour lui-même, sans avoir à déployer COOP ou COEP, et quel que soit l'état crossOriginIsolation
de la page. La règle est basée sur l'isolation de processus. De plus, les sous-ressources multi-origines non CORS du document seront chargées sans identifiants ou devront comporter un en-tête CORP.
Bug de suivi 333029146 | Enregistrement sur ChromeStatus.com | Spécification
Ed25519
dans la cryptographie Web
Cette fonctionnalité ajoute la prise en charge des algorithmes Curve25519
dans l'API Web Cryptography, à savoir l'algorithme de signature Ed25519
.
Bug de suivi 1370697 | Enregistrement sur ChromeStatus.com | Spécification
Prévention du suivi HSTS
Limite le suivi des utilisateurs par des tiers à l'aide du cache HSTS.
Cette fonctionnalité n'autorise les mises à niveau HSTS que pour les navigations de niveau supérieur et bloque les mises à niveau HSTS pour les requêtes de sous-ressources. Cela empêche les sites tiers d'utiliser le cache HSTS pour suivre les utilisateurs sur le Web.
Bug 40725781 en cours de suivi | Enregistrement sur ChromeStatus.com
WebAssembly
Intégration de promesses JavaScript
L'intégration des promesses JavaScript (JSPI) est une API qui permet aux applications WebAssembly de s'intégrer aux promesses JavaScript.
Il permet à un programme WebAssembly d'agir en tant que générateur d'une promesse et d'interagir avec les API contenant des promesses.
En particulier, lorsqu'une application utilise JSPI pour appeler une API (JavaScript) portant une promesse, le code WebAssembly est suspendu. L'appelant d'origine du programme WebAssembly reçoit une promesse qui sera remplie lorsque le programme WebAssembly sera finalement terminé.
Enregistrement sur ChromeStatus.com | Spécification
Conseils de branche WebAssembly
Améliore les performances du code WebAssembly compilé en informant le moteur qu'une instruction de branche particulière est très susceptible de suivre un chemin spécifique.
Cela permet au moteur de prendre de meilleures décisions concernant la mise en page du code (amélioration des exécutions de cache d'instructions) et l'allocation de registres.
Enregistrement sur ChromeStatus.com | Spécification
WebGPU
GPUTextureView
pour la liaison externalTexture
Un GPUTextureView
est désormais autorisé à être utilisé pour une liaison externalTexture
lors de la création d'un GPUBindGroup
.
Bug 398752857 | Enregistrement sur ChromeStatus.com | Spécification
Surcharge de copyBufferToBuffer
La méthode copyBufferToBuffer()
de GPUCommandEncoder
inclut désormais un moyen plus simple de copier des tampons entiers à l'aide d'une nouvelle surcharge avec des décalages et des paramètres de taille facultatifs.
Enregistrement sur ChromeStatus.com | Spécification
Enterprise
Journalisation et création de rapports sur les adresses IP
Chrome Enterprise améliore ses fonctionnalités de surveillance de la sécurité et de réponse aux incidents en collectant et en signalant les adresses IP locales et distantes, puis en les envoyant aux journaux d'investigation de sécurité (SIT). De plus, Chrome Enterprise permettra aux administrateurs d'envoyer les adresses IP à des fournisseurs de solutions de gestion des informations et des événements de sécurité (SIEM, Security information and event management) propriétaires et tiers via le connecteur de reporting Chrome Enterprise.
Cette fonctionnalité est disponible pour les clients Chrome Enterprise Core.
Enregistrement sur ChromeStatus.com
Phases d'évaluation
Attribut de blocage du rendu pour la fréquence d'images complète
Ajoute un nouveau jeton de blocage du rendu full-frame-rate
aux attributs de blocage.
Lorsque le moteur de rendu est bloqué avec le jeton full-frame-rate
, il fonctionne à un débit d'images inférieur afin de réserver plus de ressources pour le chargement.
Bug 397832388 en cours de suivi | Enregistrement sur ChromeStatus.com
Mettre en pause la lecture multimédia sur les iFrames non affichées
Ajoute une règle d'autorisation media-playback-while-not-rendered
pour permettre aux sites Web d'intégration de mettre en pause la lecture multimédia des iFrames intégrées qui ne sont pas affichées, c'est-à-dire que leur propriété display
est définie sur none
. Cela devrait permettre aux développeurs de créer des expériences plus conviviales et d'améliorer les performances en laissant le navigateur gérer la lecture des contenus qui ne sont pas visibles par les utilisateurs.
Phase d'évaluation Origin | Bug de suivi 351354996 | Enregistrement sur ChromeStatus.com
API Rewriter
L'API Rewriter transforme et reformule le texte saisi de la manière demandée, avec l'aide d'un modèle de langage d'IA sur l'appareil. Les développeurs peuvent utiliser cette API pour supprimer les redondances dans un texte afin de respecter une limite de mots, reformuler des messages pour les adapter à l'audience visée ou pour être plus constructifs si un message utilise un langage toxique, reformuler un post ou un article pour utiliser des mots et des concepts plus simples, et plus encore.
Test Origin | Bug de suivi 358214322 | Enregistrement sur ChromeStatus.com | Spécification
API Writer
L'API Writer peut être utilisée pour rédiger de nouveaux contenus à partir d'une invite de tâche d'écriture, avec l'aide d'un modèle de langage d'IA sur l'appareil. Les développeurs pourront utiliser cette API pour générer des explications textuelles de données structurées, composer un post sur un produit en fonction des avis ou de la description du produit, développer des listes d'avantages et d'inconvénients en vues complètes, et plus encore.
Phase d'évaluation Origin | Bug 357967382 | Enregistrement sur ChromeStatus.com | Spécification